<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 题1.
        //3 + 2 +“7”的结果是什么？3 + (2 + "7")的结果又是什么？这两个表达式输出的值是什么类型？
        // 57 String ; 327 String
        // 题2.
        //6 - false的结果是什么？
        //  0
        // 题3.
        //6 - "false"和6 + "false"的结果分别是什么？结果输出值是什么数据类型？
        // NaN number型 ； 6false string型
        // 题4.
        //下面代码分别输出什么？请写出分析过程
        var a = 1;
        var b = ++a + ++a;
        console.log(b);
        // 5 先自增后使用

        //---上面和下面是两段代码---

        var a = 1;
        var b = a++ + a++;
        console.log(b);
        // 3 先使用后自增
        // 题5.
        //JS中哪些值通过Boolean对象转换出来的值为false
        // 0 "" undefined null NaN
        // 题6.
        //分析下面代码的结果并解释原因。
        var a = 1;
        var b = 2;

        console.log(a && b);
        // 2 有假则假
        console.log(a || b);
        // 1 有真则真 b被短路了
        // // 题7.
        // //分析下面代码，分别输出什么？(以注释形式写在console.log后面)

        var str = "12306";
        var str1 = 1;
        var num = 12306;
        var boo = true;

        console.log(str == num); // true
        console.log(str === num);  // false
        console.log(str1 == boo);  // true
        console.log(str1 === boo); // false

        // // 题8.
        // // 请分析console.log(1 + - + + + - + -1)的结果？
            // 0

        // // 题9.
        // //分析下面代码，写出分析过程，请问 j 和 y 分别是多少？(不要运行代码，自己分析后写出答案)

        // var i = 100;
        // i++; 101
        // j = i++; 101
        // y = ++j;
        // console.log(y); 102
        // console.log(j); 102


        // var a = true && "" && 12306;
        // var b = false || "" || undefined || 12306 || "bluej";
        // console.log(a); ""
        // console.log(b); 12306

        // // 提高题，非必做

        // // - 写出执行结果,并解释原因

        // var x = 1;
        // if (function f() { console.log(123); }) {
        //     x += typeof f;
        // }
        // console.log(x)
    </script>
</body>

</html>